package day13;

import java.util.Arrays;
import java.util.Scanner;

//动态数组：默认长度为10，长度不够，扩容1.5倍
public class DynamicArray {
    Object[] obj=new Object[10];
    int index;  //存储目前数组元素的下标
    //动态数组存储元素的方法
    public void add(Object o){
        //当它的长度达到最大值时，开始扩容（1.5）,否则会数组越界
        if (obj.length==index) Capacity();
        obj[index]=o;
        index++;
    }
    public void Capacity(){
        //创建一个新的长度（1.5倍）
        int length=(int)(obj.length*1.5);
        obj=Arrays.copyOf(obj,length);
        System.out.println("扩容成功，新数组长度："+obj.length);
    }

    public static void main(String[] args) {
        DynamicArray list=new DynamicArray();
        Scanner sc=new Scanner(System.in);
        while (true){
            System.out.print("请输入存储数组的元素（exit退出）:");
            String str=sc.next();
            if ("exit".equals(str)){
                break;
            }
            //存储
            list.add(str);
        }
        System.out.println("元素存储结束!");
        System.out.println(Arrays.toString(list.obj));
    }
}
